System and method for adaptive forums communication

ABSTRACT

A system and method for adaptive forums provides multiple communication forums in a single instance of a web browser application that actively adapts to conversations therein. In a preferred embodiment, a server system acts as a master controller of a plurality of communication forums. An agent running in the background on the server system monitors the conversations of each forum. When the conversations of different forums sufficiently converge, a temporary communication link is formed. A communication link may be a two-way real-time interaction between users of different forums or simply automated responses using messages stored in a database and associated with the linked forum. Furthermore, establishing the link may entail opening another communication forum on the client computer or directing the messages to a currently open forum. Once a user has connected to one forum controlled by the server system, access to all the other forums controlled by the server system is provided. Embodiments of the present invention provide increased usability over conventional single forum communication, thereby providing users with quick and efficient access to vast amounts of information.

CROSS REFERENCE TO RELATED APPLICATIONS

This invention is a continuation of U.S. patent application Ser. No.09/813,509 filed on Mar. 20, 2001 now abandoned.

TECHNICAL FIELD

The invention relates generally to distributed computing environments,and more particularly to a server-client environment involving a systemand method to provide adaptive forums communication on a clientcomputer.

BACKGROUND OF THE INVENTION

To take advantage of a distributed computing environment, many currentapplications are being distributed between client and server computers.The client computers include browser-based applications that communicateover networks with server applications running on the server computers.The browser-user interfaces have become popular given their addedfeatures to improve usability of the server applications. Theserver-client environment is increasingly used for interactivecommunication forums such as “chat rooms” between Internet users orbetween retailers, distributors and other entities and their customersor enthusiasts. These chat room applications are popular because theyallow a server-end user (“moderator”) to communicate quickly and cheaplywith many client-end users (“users”) at the same time, or the users tocommunicate with each other. Many chat rooms have become virtualcommunities where Internet users can enjoy open discussions on a varietyof different topics such as music, hobbies, and events.

One conventional chat room method allows users and moderators tocommunicate via a “post-and-wait” method. Users type a question orcomment in a chat room application and wait for a response.Subsequently, other users or the moderator can respond to thesemessages. Typically, these electronic messages are date and time stampedwith a subject header and posted on an electronic bulletin board for allto view. The electronic bulletin boards are categorized by subjects andfurther group the original messages with their responses. If more thenone response is received, they are chronologically posted under theoriginal message.

A second conventional chat room application provides real-timeinteraction between many users or between the users and the moderator.The real-time interaction is obtained using a “scrolling text” method.Typical scrolling text chat rooms use two dialog fields—a message fieldand a view field. The user types a question, comment or response in themessage field and then posts the message to the view field by pressing“enter” or clicking a “submit” button. The posted message appears in theview field with the user's name, below the last entered message. As newmessages are posted, the text in the view field scrolls upward toaccommodate the new messages.

Unfortunately, present applications are limited in a number of ways. Thepost-and-wait method requires the user to search for an electronicbulletin board appropriate to his/her particular question and then toremember to subsequently return to the same electronic bulletin boardfor an answer. A user may have to view several bulletin boards beforefinding the sought after information, if it exists at all. Someelectronic bulletin boards may provide a search engine tool to help findthe correct information, but require the user to consciously use thetool. Furthermore, the post-and-wait method, from the user'sperspective, does not allow for a one-on-one real-time interaction bythe user with a moderator or another user. Often it can take hours ordays before a user receives a response to a message posted to the chatroom.

The scrolling text method, while providing real-time interaction, isunable to adequately handle many users and large volumes of information.When several users are participating in the same ‘chat session’ thequestions and answers become hard to follow. The text scrolls quickly upthe screen as new messages are constantly being posted to the viewfield. This text, fast moving at times, can be difficult to read andeasy to miss. Furthermore, these sessions cannot save questions andanswers posted once a user has exited the chat session. Consequently,user questions can only be answered by other users currently logged onto the same chat session or by a moderator who is actively reading andreplying to questions. With the ability of distributed computingnetworks to connect many users to a server at once, the moderator isoften inundated with more questions then manageable. In this case, thereal-time interaction is defeated by long queues of unansweredquestions.

SUMMARY OF THE INVENTION

The present invention resides in a system and method for adaptive forumscommunication. Aspects of the system and method include sending anindication of a first uniform resource locator (URL) from a clientcomputer to a server computer across a network communicatively linkingthe client computer and the server computer. Stored data is collectedfrom at least one of the client computer and the server computer andpersonalized data about a user of the client computer is collected.Further aspects include displaying a screen including one or more firstforums on the client computer based on the first URL, the collectedstored data, and the collected personalized data. Messages posted to theone or more first forums as displayed on the screen of the clientcomputer are analyzed to determine if one or more additional forums areto be concurrently displayed with the one or more first forums.

Additional aspects include sending queries from the server computer tothe client computer during a key chat when the client computer initiallyconnects to a forum controlled by the server computer and storingresponses to the queries in one or more storage devices communicativelylinked to the server computer.

Other features and advantages of the invention will become apparent fromthe following detailed description, taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of aspects of an adaptive forumscommunication system of the present invention directed to a network ofadaptive forums interconnected by an adaptive forums inter-link.

FIG. 2 is a schematic diagram of an embodiment of a computingenvironment to implement the adaptive forums communication system ofFIG. 1.

FIG. 3 is a schematic diagram showing further detail of the adaptiveforums communication system of FIG. 1 as implemented with the computingenvironment embodiment of FIG. 2.

FIG. 4 is a schematic diagram of a screen layout of an embodiment of anexemplary, tailored chat room.

FIG. 5 is a flow chart depicting a method used by embodiments of theadaptive forums communication system of FIG. 1 to collect informationfrom and communicate with a user during an initial phase of operation.

FIG. 6 is a flow chart depicting a method used by embodiments of theadaptive forums communication system of FIG. 1 for subsequent phases ofoperation.

DETAILED DESCRIPTION OF THE INVENTION

An adaptive forums communication system 100 and associated method of thepresent invention is described below. In the following description,numerous specific details are provided to give a thorough understandingof embodiments of the invention. One skilled in the relevant art,however, will recognize that the invention can be practiced without oneor more of these specific details, or with other equivalent elements andcomponents, etc. In other instances, well-known components and elementsare not shown, or not described in detail, to avoid obscuring aspects ofthe invention or for brevity.

The adaptive forums communication system 100 includes a collection ofindependent adaptive communication forums 1-8 communicativelyinterconnected by an adaptive forums interlink (“interlink”) 9, asdepicted in FIG. 1. A forum is a computer web site-based communicationfacility such as a web site chat room or other computer web site-basedforum where network users communicate openly on a variety of topics.However, other forums are topic-specific. Purely for demonstrativepurposes, the explanation contained herein will describe the claimedinvention in relation to chat room forums, although other forums usedfor other purposes may still fall within the scope of the invention.Each chat forum is accessed as a web site through a unique UniformResource Locator (“URL”) such as “www.CatTalk.com” or “www.AOLTalk.com”.

The interlink 9 acts as a central hub and master controller establishingand terminating interconnections between the forums 1-8. Although FIG. 1only depicts eight forums for simplicity, any number of forums may belinked to the interlink 9 concurrently. Interconnection of all theforums 1-8 through the interlink 9 allows for a network ofconversations. The interlink 9 monitors these conversations to determinewhich of the forums 1-8 to communicatively interconnect. If theconversations of two or more of the forums 1-8 converge on a relatedtopic, a communication link between the forums is temporarilyestablished. Once established, an overlapping universe of chat sites isestablished. In the depicted embodiment described below, both theinterlink 9 and the forums 1-8 are embodied in software with aserver-based implementation. Other embodiments utilize various othercombinations of hardware and software.

Outside users can gain access to the adaptive forums communicationsystem 100, through any one of the forums 1-8. Each of the forums 1-8acts as a portal to every other forum allowing users to switch chattopics by changing chat forums or participate in several chat topics atonce. Switching between the forums 1-8 is accomplished with a graphicaluser interface (“GUI”) control such as a “navigator bar”, pull downmenus, command line functions, or other suitable control means.Furthermore, a user of one of the forums 1-8 may temporarily gain accessto another of the forums through the interlink 9 based upon commonalityof subject matter.

An example could have the forum 3 being accessed through a URL“www.CatTalk.com” and the forum 7 being accessed through a URL“www.DogTalk.com”. If an Internet user connects to “www.CatTalk.com”using an Internet web browser and posts the following message, “theneighbor's dog chases my cat,” the interlink 9 may temporarilyinterconnect forums 3 and 7. The interconnection may allow users of thetwo forums 3 and 7 to communicate in real-time or it may simply divertappropriate messages between the forums. Diverted messages are retrievedby the interlink 9 from a database, wherein the messages are stored andindexed according to the forum of origin. The adaptive forum interlink 9may further provide the user of the forum 3 the option of switching tothe forum 7 entirely or the option of engaging in both forumsindependently yet simultaneously.

Embodiments of the present invention provide custom selections for eachuser. These selections modify the display format and other functionalityallowing the user to dictate, among other things, how many chat forumsto engage in at the same time on a single computer screen. Theselections are retained from one communication session to another.Furthermore, comments, questions, and answers posted to any of the chatforums are stored in a database for future recall. During eachcommunication session, an agent subroutine is executed as a backgroundroutine and without otherwise alerting the user of its execution. Thedatabase allows the agent to track and remember a user's interest inparticular chat forums. In addition, the agent analyzes posted messages,suggests new chat forums to enter, and even opens new chat forums whenthe agent determines it would be prudent based upon the current chatforum content. If a message contains a question or comment, the agentcan respond with answers stored in the message database or a contentdatabase. The agent can act as an aid to the moderator, answering anyquestions it has an answer to and forwarding all others to the moderatoror leaving them to be answered by other users as well as archiving thequestion. Similarly, if a message contains an answer or comment, it isarchived for future recall.

With the above-described features, the adaptive forums communicationsystem 100 provides increased usability over conventional single forumcommunication. At the same time the present invention can decrease theburden on live moderators to answer questions and can increase theuser's rate of access to information. The extensive accumulation ofinformation on the Internet has greatly increased the value of toolsthat help users quickly and efficiently sort through and access vastamounts of information. By displaying several communication forums onone screen, providing automatic responses to questions, and providingsuggestions for new communication forums, the present invention allows auser to sort through more information in less time.

FIG. 2 and the following discussion provide a brief, general descriptionof a suitable computing environment in which the present invention canbe implemented. Although not required, embodiments of the presentinvention will be described in the general context ofcomputer-executable instructions, such as program application modules,objects, or macros being executed by a personal computer. Those skilledin the relevant art will appreciate that the invention can be practicedwith other computer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, network PCs, mini computers, mainframe computers, and thelike. The invention can be practiced in distributed computingenvironments where tasks or modules are performed by remote processingdevices, which are linked through a communication network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Referring to FIG. 2, a conventional personal computer referred herein asa client computer 10 includes a processing unit 12, a system memory 14and a system bus 16 that couples various system components including thesystem memory to the processing unit. The processing unit 12 may be anylogic processing unit, such as one or more central processing units(“CPUs”), digital signal processors (“DSPs”), application-specificintegrated circuits (“ASICs”), etc. Unless described otherwise, theconstruction and operation of the various blocks shown in FIG. 2 are ofconventional design. As a result, such blocks need not be described infurther detail herein, as they will be understood by those skilled inthe relevant art.

The system bus 16 can employ any known bus structures or architectures,including a memory bus with memory controller, a peripheral bus, and alocal bus. The system memory 14 includes read-only memory (“ROM”) 18 andrandom access memory (“RAM”) 20. A basic input/output system (“BIOS”)22, which can form part of the ROM 18, contains basic routines that helptransfer information between elements within the client computer 10,such as during start-up.

The client computer 10 also includes a hard disk drive 24 for readingfrom and writing to a hard disk 25, and an optical disk drive 26 and amagnetic disk drive 28 for reading from and writing to removable opticaldisks 30 and magnetic disks 32, respectively. The optical disk 30 can bea CD-ROM, while the magnetic disk 32 can be a magnetic floppy disk ordiskette. The hard disk drive 24, optical disk drive 26 and magneticdisk drive 28 communicate with the processing unit 12 via the bus 16.The hard disk drive 24, optical disk drive 26 and magnetic disk drive 28may include interfaces or controllers (not shown) coupled between suchdrives and the bus 16, as is known by those skilled in the relevant art.The drives 24, 26 and 28, and their associated computerreadable media,provide nonvolatile storage of computer readable instructions, datastructures, program modules and other data for the client computer 10.Although the depicted client computer 10 employs hard disk 25, opticaldisk 30 and magnetic disk 32, those skilled in the relevant art willappreciate that other types of computer-readable media that can storedata accessible by a computer may be employed, such as magneticcassettes, flash memory cards, digital video disks (“DVD”), Bernoullicartridges, RAMs, ROMs, smart cards, etc.

Program modules can be stored in the system memory 14, such as anoperating system 34, one or more application programs 36, other programsor modules 38 and program data 40. The system memory 14 also includes abrowser 41 for permitting the client computer 10 to access and exchangedata with sources such as web sites of the Internet, corporateintranets, or other networks as described below, as well as other serverapplications on server computers such as those further discussed below.The browser 41 is markup language-based, such as Hypertext MarkupLanguage (HTML), and operates with markup languages that usesyntactically delimited characters added to the data of a document torepresent the structure of the document.

While shown in FIG. 2 as being stored in the system memory 14, theoperating system 34, application programs 36, other programs/modules 38,program data 40 and browser 41 can be stored on the hard disk 25 of thehard disk drive 24, the optical disk 30 of the optical disk drive 26and/or the magnetic disk 32 of the magnetic disk drive 28. A user canenter commands and information into the client computer 10 through inputdevices such as a keyboard 42 and a pointing device such as a mouse 44.Other input devices can include wired or wireless versions of amicrophone, joystick, game pad, scanner, etc. These and other inputdevices are connected to the processing unit 12 through an interface 46such as a serial port interface that couples to the bus 16, althoughother interfaces such as a parallel port, a game port or a universalserial bus (“USB”) can be used. A monitor 48 or other display device iscoupled to the bus 16 via a video interface 50, such as a video adapter.The client computer 10 can include other wired or wireless outputdevices, such as speakers, printers, etc.

The client computer 10 can operate in a networked environment usinglogical connections to one or more remote computers, such as a servercomputer 60 having server applications 61. The server computer 60 can beanother personal computer, a server, or other type of computer, andtypically includes many or all of the elements described above for theclient computer 10. The server computer 60 is logically connected to theclient computer 10 under any known method of permitting computers tocommunicate, such as through a local area network (“LAN”) 64 or a widearea network (“WAN”) or the Internet 66. Such networking environmentsare well known in enterprise-wide computer networks, intranets and theInternet.

When used in a LAN networking environment, the client computer 10 isconnected to the LAN 64 through an adapter or network interface 68(communicatively linked to the bus 16). When used in a WAN networkingenvironment, the client computer 10 often includes a modem 70 or otherdevice for establishing communication over the WAN/Internet 66. Themodem 70 is shown in FIG. 2 as communicatively linked between theinterface 46 and the WAN/Internet 66. In a networked environment,program modules, application programs, or data, or portions thereof, canbe stored in the server computer 60. In the depicted embodiment, theclient computer 10 is communicatively linked to the server computerthrough the LAN 64 or WAN/Internet 66 with TCP/IP middle layer networkprotocols; however, other similar network protocol layers are used inother embodiments. Those skilled in the relevant art will readilyrecognize that the network connections shown in FIG. 2 are only someexamples of establishing communication links between computers, andother links may be used, including wireless links.

An adaptive forums communication system 300 is depicted in FIG. 3 as aserver-based implementation of the adaptive forms communication system100 generally depicted in FIG. 1. The adaptive forums communicationsystem 300 is used by a client user 310 who types or enters by speech orby other methods, such as audio and video files, commands and data 302into the a client computer 10. In the depicted embodiment, the clientcomputer 10 stores processes and data such as a cookie 304 a with cookiedata 304 b onto the hard drive 25. The commands and data 302 are thensent by the client computer 10 to the server computer 60 by way of acommunication network such as the Internet 66.

For the depicted embodiment, the server computer 60 hosts an agent 360,a database 370, and a web server 380. In the preferred embodiment, theagent 360 is a software program running on the server computer 60, butmay also be implemented in hardware with an ASIC or other device capableof performing the below described functionality. The agent 360 includesa client data collector 360 a, a presentation formulator 360 b, a searchengine 360 c, and a message parser 360 d. The database 370 includes aclient database 370 a, a message database 370 b, and a content database.

The client data collector 360 a analyzes the commands and data 302received from the client computer 10 and the cookie data 304 b stored onthe client computer. The data of the commands and data 302 is analyzedto identify information pertinent to the client user 310 to be used forreal-time processing. Personalized user data is forwarded to thepresentation formulator 360 b for displaying saved user settings on theclient computer 10 and to the client database 370 a for future use.Examples of saved user settings are forum choices, content preferences,questions, comments, messages, background color, font type, visual andaudible prompts, control menu orientation, etc.

If the data of the commands and data 302 contains a question or comment,the client data collector 360 a will forward the query to the messageparser 360 d, which further analyses the data and extracts keywords.These words are then forwarded to the search engine 360 c, which usesthe extracted keywords to search the message database 370 b for asimilar query. If a similar query is found, the corresponding answer orcomment is sent to the presentation formulator 360 b for display on themonitor 48 of the client computer 10. If no similar query is found, theclient data collector 360 a directs and queues the query to be answeredby a live or off-line moderator. Alternatively or in addition, the querymay simply be made available for display to other chat room users toanswer or comment. If the data of the commands and data 302 contains ananswer from the client user 310 to another user's question, both theanswer and the question will be stored in the message database 370 b aswell as posted to one or more of the forums through the presentationformulator 360 b. Methods of implementing the message parser 360 d andthe search engine 360 c are well known to those of ordinary skill in therelevant art. In an alternative embodiment a grammar engine is used inlieu of or in addition to the message parser 360 d. As known in the art,when parsing a message, a grammar engine uses the grammatical contextand proximity of words and phrases.

As described above, the agent 360 can automatically respond to messagesposted through the client computer 10 by the user 310, if a relevantanswer or comment is saved in the database 370. With time, a criticalmass of answers, questions, and comments will accumulate in the database370 allowing the agent 360 to respond to many incoming messages.

Another important function implemented by the agent 360 is initiatingdisplay of chat forums in addition to those being displayed or divertingmessages between a currently active chat forum and another chat forumbased on content of messages sent through the active chat forum or theentry of clients with known preferences or user settings. By monitoringchat forums, the agent 360 determines when to establish temporary linksbetween previously unconnected forums. This method of adapting theforums based on message content or participating clients beingcommunicated through the forums can be accomplished by parsing themessages of each forum and comparing the parsed message to a list ofwords and phrases associated with each forum. Alternatively, the agent360 could directly compare the parsed messages associated with differentforums. If the agent 360 finds a match, a new interconnection isestablished. An interconnection can be a two-way real-time interactionallowing the participants of each interconnected forum to fully interactor a one-way interaction wherein stored messages from one forum areforwarded to another.

The database 370 is communicatively linked to the agent 360. It canutilize any device capable of storing the data supplied to it by theagent 360, such as a hard disk, an optical drive, a CD-ROM or DVD-ROMdrive, a tape drive, or the like. The data stored in the client database370 a may be indexed to an individual or a group of individual users.Similarly, the message database 370 b may index the stored questions,answers, and comments of each forum to keywords, phrases or entirequeries. The keywords and phrases are also stored in the client database370 a and indexed to each forum. In addition, content database 370 ccontains an external database of questions, answers, and commentsincluding voice files, multimedia graphics, image, audio and video, andreal-time data. External third party databases can also be used tosupply informational contents. For instance, for a health talk site or acat talk site, a content database can supply information on a drugmanufacturer or a cat food manufacturer.

The server computer 60 contains functional components directed to theagent 360, the database 370, and web server 380 shown in FIG. 3. Thesecomponents can be physically implemented in a variety of ways, forinstance they can be software processes or hardware contained in the oneserver computer 60. Alternatively, each of the functional components canbe separate processes running on separate computers or be all standalonedevices (not shown). The method of implementing the functionalcomponents is of little importance, if the functionality describedherein is performed. In the depicted embodiment, some of the functionalcomponents of the server system 60 are implemented with Unix Solaris, bySUN, Microsoft NT 4.0, Oracle 8.0, SQL language, and Visual Basic. Otherembodiments use various other processes, platforms, operating systems,computer languages, ASICs, and devices to implement the functionalcomponents.

In the depicted embodiment, the client computer 10 runs a World Wide Webbrowser 306, known as a web client, such as Netscape Navigator orMicrosoft's Internet Explorer. The web browser 306 sends data to the webserver 380, which is a computer program or set of programs running onthe server computer 60. The web server 380 and web browser 306 interactwith one another and send data and commands to one another usingHypertext Transport Protocol (“HTTP”). It is within this web browserenvironment that the depicted embodiment operates to implement theadaptive forums communication system 300.

When the client computer 10 communicates with the server computer 60 toinitiate a session with a chat forum, the presentation formulator 360 bwill display an adaptive forum environment on the monitor 48 of theclient computer 10. The client computer 10 sends a request to the servercomputer 60 to download a web page containing a particular forumspecified by a URL. A forum-specific screen is displayed on the monitor48 which is tailored to the particular URL used to access the adaptiveforums communication system 300. This forum-specific screen will containa first forum as requested by the specified URL and possibly otherforums depending upon the personalized information stored in the clientdatabase 370 a and associated with the particular user of the clientcomputer 10.

The forum-specific screen may be further customized by the user via menufunctions, function keys, or the like. Such customizations may includebackground screen color, font size, font type, number of forums allowedopen at once, and other similar userselective characteristics. Thesecustomizations and user-selective characteristics are stored in a cookiecontained in a memory device of the client computer 10 or in the clientdatabase 370 a of the server computer 60. Furthermore, thecustomizations and userselective characteristics are automaticallyapplied each time the client computer 10 connects to any of the adaptiveforums controlled by the server computer 60.

An example of a forum-specific screen 400 is shown in FIG. 4. Theforum-specific screen 400 has chat dialog boxes 400 a, 400 b, and 400 ceach associated with independent chat forums having separate chatsessions. A navigator bar 410 provides the user 310 with a means tointeract with the server computer 60 to modify the viewing environment,select other chat forums, and control other functions. Ads 1 through 4are used as advertisement fields (420 a, 420 b, 420 c, and 420 d,respectively). The advertisement fields may randomly or sequentiallydisplay various advertisements. Sequential changes of displayedadvertisements may be controlled according to words and phases enteredin a chat session or according to personal information on the user 310stored in the client database 370 a and in the cookie data 304 b. Abutton bar 430 provides the user 310 with a means to interactivelyselect a manner of how to display data on the user's browser.

Although the depicted embodiment shows three chat dialog boxes (400 a,400 b, and 400 c), any number of chat dialog boxes may be openconcurrently. This allows a user to participate in several chat forumssimultaneously. Each dialog box may be arbitrarily wide and adjustableby the user or automatically shaped to equally share the availablescreen space. Similarly, the number and size of the advertisement fields420 a 420 d is variable. The navigator bar 410 and button bar 430 may bea number of different sizes and shapes, or even implemented by a dropdown menu, function keys, or other common practices in the art.

The chat dialog boxes 400 a-400 c can use the “post-and-wait” chatmethod, or alternatively, the “scrolling text” chat method. It is alsopossible that one chat dialog box uses post-and-wait, while another usesscrolling text. The present invention may also include a modification tothe post-and-wait method described above by using a drop down menuwherein messages may be entered for posting to the chat forum. The dropdown menu would allow the user to post messages without requiring theweb browser to overwrite the entire screen with an updated page. Thisdrop down menu could be located at the top of each chat dialog box, thebottom of each chat dialog box or at another suitable location.

If the user 310 is using the embodiment of the adaptive forumscommunication system 300 for the first time, the agent 360 can ask theuser 310 a number of questions. These questions are posed by the agent360 to obtain personal information about the user 310 for adapting theadaptive forums communication system 300 to the particular user. Typicalquestions could include: “What is your birth date?”, “Are you married?”,“What is your anniversary?”, “Are you interested in animals?”, etc. Theabove questions are only asked once in an initial “key chat” and theanswers are stored either on the client computer 10 and/or in the clientdatabase 370 a. The agent can ask these questions in a separate pop upwindow or simply ask the questions in the first forum opened by the user310. The method of obtaining the personal information is not importantas long as it is obtained and saved for future access and processing.

The present invention is further adaptable to the particular user 310 byextracting information contained in the “header field” of the data ofthe commands and data 302. This information can be used to determinepertinent information about the user 310 and formulate which chatsessions to open. An example of the information contained in the headerfield is the user's Internet Protocol (“IP”) address. Comparing theuser's IP address to known IP addresses of popular Internet ServiceProviders (“ISPs”) provides the agent 360 with the necessary informationto suggest new chat sessions. For example, if the user 310 is an AmericaOnline (“AOL”) user, the header field of the data will contain an AOLregistered IP address. The client data collector 360 a would extractthis address and compare it to a known list of ISP addresses. From this,the agent would know the user 310 is an AOL user and may suggest orautomatically open a chat dialog box for AOL users.

For example, referring to FIG. 5, suppose the user 310 initiatescommunication with the adaptive forums communication system 300 throughthe URL “www.CatTalk.com” for the first time (step 502), using AOL as anISP. In response, the agent 360 would extract header information (step504) contained in the data packets sent from the client computer 10 tothe server computer 60. In addition, the agent 360 would perform aone-time event of asking the user 310 to answer personal questions andstoring the answers (step 506). Next, the agent 360 would open (step508) the “CatTalk” chat forum to be displayed in a chat dialog box onthe monitor 48 as explicitly requested by the user 310 when connectingto the URL “www.CatTalk.com”. The “AOLTalk” chat forum would be opened(step 508) and displayed in a chat dialog box on the monitor 48 as aresult of the IP address extracted (step 504) from the header field of adata packet sent by the client computer 10. Suppose the user 310 poststhe statement, “my cat tore my drapes” to the “CatTalk” chat forum. Theagent 360 could analyze the phrase (step 510) and pick out the words“cat” and “drapes” and branch back, under a “yes” condition (step 512),to suggest (step 508) to the user, in a navigator bar or anotherappropriate place, to open other cat related chat forums. In a similarmanner, the agent 360 may suggest a chat forum called “AllAboutDrapes.”Alternatively, the agent 360 could automatically open (step 508) thesechat forums to be displayed in dialog boxes on the monitor 48. In analternative implementation, the user 310 could limit the number ofdialog boxes the agent 360 may open. If no further communication isoccurring, the agent 360 branches under the “no” condition (step 512) toend the procedure (step 514).

Finally, suppose the user 310 terminates the portion of the adaptiveforums communication system 300 running on the client computer 10.Referring to FIG. 6, the next time the user 310 connects to one of theadaptive chat forums (step 602), such as “www.AOLTalk.com”, all screencustomizations from the previous chat sessions would be fetched from thedatabase 370 (step 604) and redisplayed on the monitor 48. The agent 360would open (step 608) the “AOLTalk” chat dialog box to be displayed onthe monitor 48 as requested. The stored data would indicate to the agent360 that the user 310 is interested in cats. Therefore, the agent 360would open (step 608) the “CatTalk” chat dialog box to be displayed onthe monitor 48. Further, suppose today is the user's anniversary. Theagent 360 would open (step 608) a third chat dialog box called“AnniversaryChat.” Opening a chat dialog box in anticipation of acalendar day could also apply to holidays and special events such asValentine's Day or Mother's Day. The agent 360 continues to openadditional forums under the “yes” condition (step 610) until no furtherchat-based indication exists to continue, thus triggering the “no”condition (step 610) to end the procedure (step 612).

The above example highlights how the present invention is adaptable andcustomizable to a specific user. However, as mentioned, the agent 360can further provide the function of answering questions or commenting onmessages posted to a chat session. A company could use the adaptiveforums communication method to provide customers a convenient Internetforum to ask questions about the company's products or services. Acustomer could open several chat dialog boxes, each linked to a separatechat forum relating to different company products. These chat sessionswould allow the customer to interact with other customers who haveexperience with the particular product or pose questions to themoderator, who in this case would be the company's customer servicerepresentative. The agent 360 running in the background could answercommon questions and forward novel questions to the moderator. It couldalso suggest or open a new chat forum on a related product that may beof interest to the customer based upon the message content of thecurrent chat session. In this manner, automated responses andsuggestions give the customer the appearance of a one-on-one real-timeinteraction with a customer service representative without arepresentative's actual participation. This allows customer servicerepresentatives to focus on novel questions or questions which are notamenable to automated responses, while the agent 360 provides quickautomated responses to the rest.

Another possible embodiment allows the user 310 to subscribe to a numberof post-and-wait chat rooms. For example, suppose that AOLTalk, CatTalk,and AllAboutDrapes are three different post-and-wait chat forums towhich the user 310 has subscribed. If a message is posted to the CatTalkforum, the agent 360 could notify the user 310 of that posting. Thenotification could take the form of a small message in the navigator bar410 or another suitable location. Alternatively, the agent 360 couldopen a CatTalk dialog box to be displayed on the monitor 48 with themessage displayed. The agent 360 could monitor the other chat forums ina similar manner, allowing the user 310 to assign priority levels toparticular forums, thereby, ordering incoming messages. Yet, anotheralternative would deliver messages posted to a forum of which the user310 has subscribed via email.

Active forums are always displayed on the monitor 48 of the clientcomputer 10 and updated depending upon the forum type as describedheretofore. Assigning a forum a top-priority level ensures that theforum remains classified as an active forum, and therefore alwaysdisplayed. Forums assigned lower-priority levels may become inactiveforums and therefore not displayed. If multiple forums have been openedon the client computer 10 by the user 310 or the server computer 60 andassigned priority levels less than the top-priority level, only a numberof the lower-priority forums will be displayed concurrently on themonitor 48. The user 310 can specify this number of lower-priorityforums to be displayed. After a message is posted to an inactivelower-priority forum, the forum will become active forcing a currentlyactive lower-priority forum to become inactive. In this way, thelower-priority forums compete for display screen time, replacing eachother as messages are posted to the inactive forums.

Hidden data that is stored on or generated by the client computer 10,such as the client computer's IP address, may be gathered by the clientdata collector 360 a of the server computer 60 without notifying theuser 310. Examples of such hidden data include the cookie data 304 b onthe client computer 10 or data stored in other files on the hard disk 25of the client computer 10. Cookies were originally designed to permitservers to save information on a client computer between invocations ofa web browser. Cookies are now of more general use so that cookie datamay contain a wealth of information about a user's habits and interestsincluding particular chat rooms frequented by the user 310. Pertinentuser information found in this hidden data can also be used by thepresentation formulator 360 b and web server 380 to generate tailoredchat room screens.

Although the database 370 includes a client database 370 a, personalinformation could be stored entirely in the cookie data 304 b or inother files on the hard disk 25. Alternatives to the client database 370a could be used to store user information necessary to redisplay pastcustomizations after the web browser on the client computer 10 isclosed.

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention. Accordingly, the invention is notlimited except as by the appended claims.

1. A method to provide adaptive forums within a single instance of a webbrowser application, the method comprising: at a server computer,receiving an indication of a first uniform resource locator (“URL”) froma client computer across a network communicatively linking the clientcomputer and the server computer; displaying a screen on the clientcomputer including one or more first forums based on the first URL;analyzing messages posted to the one or more first forums as displayedon the client computer to identify a topic for each message; simultenouswith analyzing messages posted to the one or more first forums,analyzing each message posted to one or more second forums not displayedon the client computer to identify a topic for each message; determininga topic of a first message posted to at least one of the first forumshas converged with a topic of a second message posted to at least one ofthe second forums, the first message having been posted substantiallycontemporaneiously with the second message; and diverting the secondmessage to the at least one of the first forums for display thereby onthe client computer.
 2. The method of claim 1, further comprising:collecting personalized data about a user of the client computercomprising: sending queries from the server computer to the clientcomputer during a key chat when the client computer initially connectsto a forum controlled by the server computer, and storing responses tothe queries in one or more storage devices communicatively linked to theserver computer; using the personalized data about the user to select athird message posted to at least one of the second forums; and divertingthe third message to the at least one of the first forums for displaythereby on the client computer.
 3. The method of claim 1, furthercomprising diverting the first message to the at least one of the secondforums for display thereby.
 4. The method of claim 1 wherein the firstURL particularly identifies one of the one or more first forums.
 5. Themethod of claim 1 wherein the one or more first forums and the one ormore second forums are chat forums.
 6. The method of claim 1, furthercomprising: collecting stored data from at least one of the clientcomputer and the server computer including information collected fromprevious forum connections and stored in a database on the servercomputer or a cookie on the client computer; and using the collectedstored data to display the screen on the client computer including theone or more first forums.
 7. A method comprising: displayingconcurrently one or more first forums within a single instance of a webbrowser application; analyzing messages posted to the one or more firstforums displayed on a screen of the client computer; determining when atopic of a first message posted to an identified forum of the one ormore first forums has converged with a topic of a second message postedto at least one second forum; and temporarily interconnecting theidentified forum with the at least one second forum so that postings tothe identified forum appear on the at least one second forum andpostings to the at least one second forum appear on the identifiedforum.
 8. The method of claim 7 wherein the one or more first forums andthe at least one second forum are chat forums.
 9. The method of claim 7,further including automatically formatting the one or more first forumsand the one or more second forums to substantially equally share an areaon the screen of the client computer.
 10. An adaptive forumcommunication system communicatively linked to one or more clientcomputers, the adaptive forum communication system comprising: aplurality of unconnected communication forums each configured to receivemessages from the one or more client computers, each message having atopic; and a forum interlink communicatively coupled to each of thecommunication forums of the plurality of communication forums, the foruminterlink being configured to: monitor the messages received by each ofthe communication forums; detect the topic of each message; determinewhen the topic of a first message received by a first communicationforum has converged with a topic of a second message received by asecond communication forum; and interconnect the first communicationforum and second communication forum to display both the first messageand the second message in both the first communication forum and thesecond communication forum.
 11. The adaptive forum communication systemof claim 10, wherein the forum interlink further comprises a messageparser configured to parse each message received by each of the firstand second communication forums and detect the topic of each message.12. The adaptive forum communication system of claim 10, wherein eachmessage comprises one or more words, and the topic of each messagecomprises a portion of the one or more words of the message.